<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
    <title>Luat开源项目脚本lib</title>
    <link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>

<div id="container">

<div id="product">
	<div id="product_logo"></div>
	<div id="product_name"><big><b></b></big></div>
	<div id="product_description"></div>
</div> <!-- id="product" -->


<div id="main">


<!-- Menu -->

<div id="navigation">
<br/>
<h1>script_LuaTask lib</h1>

<ul>
  <li><a href="../index.html">Index</a></li>
</ul>

<h2>Contents</h2>
<ul>
<li><a href="#Functions">Functions</a></li>
</ul>


<h2>Modules</h2>
<ul class="nowrap">
  <li><a href="../modules/aLiYun.html">aLiYun</a></li>
  <li><a href="../modules/aLiYunOta.html">aLiYunOta</a></li>
  <li><a href="../modules/agps.html">agps</a></li>
  <li><a href="../modules/agpsHxxt.html">agpsHxxt</a></li>
  <li><a href="../modules/agpsZkw.html">agpsZkw</a></li>
  <li><a href="../modules/audio.html">audio</a></li>
  <li><a href="../modules/cc.html">cc</a></li>
  <li><a href="../modules/clib.html">clib</a></li>
  <li><a href="../modules/common.html">common</a></li>
  <li><a href="../modules/console.html">console</a></li>
  <li><a href="../modules/errDump.html">errDump</a></li>
  <li><a href="../modules/ftp.html">ftp</a></li>
  <li><a href="../modules/gps.html">gps</a></li>
  <li><a href="../modules/gpsHxxt.html">gpsHxxt</a></li>
  <li><a href="../modules/gpsZkw.html">gpsZkw</a></li>
  <li><a href="../modules/http.html">http</a></li>
  <li><a href="../modules/lbsLoc.html">lbsLoc</a></li>
  <li><a href="../modules/led.html">led</a></li>
  <li><a href="../modules/link.html">link</a></li>
  <li><a href="../modules/log.html">log</a></li>
  <li><a href="../modules/misc.html">misc</a></li>
  <li><a href="../modules/mqtt.html">mqtt</a></li>
  <li><a href="../modules/net.html">net</a></li>
  <li><a href="../modules/netLed.html">netLed</a></li>
  <li><a href="../modules/ntp.html">ntp</a></li>
  <li><a href="../modules/nvm.html">nvm</a></li>
  <li><a href="../modules/patch.html">patch</a></li>
  <li><a href="../modules/pb.html">pb</a></li>
  <li><a href="../modules/pins.html">pins</a></li>
  <li><a href="../modules/pm.html">pm</a></li>
  <li><a href="../modules/powerKey.html">powerKey</a></li>
  <li><strong>record</strong></li>
  <li><a href="../modules/ril.html">ril</a></li>
  <li><a href="../modules/scanCode.html">scanCode</a></li>
  <li><a href="../modules/sim.html">sim</a></li>
  <li><a href="../modules/sms.html">sms</a></li>
  <li><a href="../modules/socket.html">socket</a></li>
  <li><a href="../modules/sys.html">sys</a></li>
  <li><a href="../modules/uiWin.html">uiWin</a></li>
  <li><a href="../modules/update.html">update</a></li>
  <li><a href="../modules/utils.html">utils</a></li>
  <li><a href="../modules/websocket.html">websocket</a></li>
  <li><a href="../modules/wifiScan.html">wifiScan</a></li>
</ul>

</div>

<div id="content">

<h1>Module <code>record</code></h1>
<p>模块功能：录音处理</p>
<p></p>
    <h3>Info:</h3>
    <ul>
        <li><strong>Copyright</strong>: openLuat</li>
        <li><strong>Release</strong>: 2017.11.23</li>
        <li><strong>License</strong>: MIT</li>
        <li><strong>Author</strong>: openLuat</li>
    </ul>


<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
	<tr>
	<td class="name" nowrap><a href="#start">
    start (seconds<strong  style="color: gray;">[, cbFnc=nil]</strong><strong  style="color: gray;">[, type="FILE"]</strong><strong  style="color: gray;">[, quality=1]</strong><strong  style="color: gray;">[, rcdType=2]</strong><strong  style="color: gray;">[, format=3]</strong><strong  style="color: gray;">[, streamRptLen=nil]</strong>)
    </a></td>
	<td class="summary">开始录音</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#stop">
    stop (<strong  style="color: gray;">[cbFnc=nil]</strong>)
    </a></td>
	<td class="summary">停止录音</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#getFilePath">
    getFilePath ()
    </a></td>
	<td class="summary">读取录音文件的完整路径</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#getData">
    getData (offset, len)
    </a></td>
	<td class="summary">读取录音数据</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#getSize">
    getSize ()
    </a></td>
	<td class="summary">读取录音文件总长度，录音时长</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#delete">
    delete ()
    </a></td>
	<td class="summary">删除录音</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#exists">
    exists ()
    </a></td>
	<td class="summary">判断是否存在录音</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#isBusy">
    isBusy ()
    </a></td>
	<td class="summary">是否正在处理录音</td>
	</tr>
</table>

<br/>
<br/>


    <h2 class="section-header "><a name="Functions"></a>Functions</h2>

    <dl class="function">
    <dt>
    <a name = "start"></a>
    <strong  style="color: red;">
    start (seconds<strong  style="color: green;">[, cbFnc=nil]</strong><strong  style="color: green;">[, type="FILE"]</strong><strong  style="color: green;">[, quality=1]</strong><strong  style="color: green;">[, rcdType=2]</strong><strong  style="color: green;">[, format=3]</strong><strong  style="color: green;">[, streamRptLen=nil]</strong>)
    </strong>
    </dt>
    <dd>
    <pre class="example"  style="color: red;">开始录音</pre>


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">seconds</span>
            <span class="types"><span class="type">number</span></span>
        <pre class="example">录音时长，单位：秒
     流录音模式下，如果想长时间录音，可以将此参数设置为0x7FFFFFFF，相当于录音2147483647秒=24855天</pre>
        </li>
        <li><span class="parameter">cbFnc</span>
            <span class="types"><span class="type">function</span></span>
         [<em>此参数可选，默认值为：</em> nil]
        <pre class="example">录音回调函数：
     当type参数为"FILE"时，回调函数的调用形式为：
         cbFnc(result,size)
               result：录音结果，true表示成功，false或者nil表示失败
               size：number类型，录音文件的大小，单位是字节，在result为true时才有意义
     当type参数为"STREAM"时，回调函数的调用形式为：
         cbFnc(result,size,tag)
               result：录音结果，true表示成功，false或者nil表示失败
               size：number类型，每次上报的录音数据流的大小，单位是字节，在result为true时才有意义
               tag：string类型，"STREAM"表示录音数据流通知，"END"表示录音结束</pre>
        </li>
        <li><span class="parameter">type</span>
            <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
         [<em>此参数可选，默认值为：</em> "FILE"]
        <pre class="example">录音模式
     "FILE"表示文件录音模式，录音数据自动保存在文件中，录音结束后，执行一次cbFnc函数
     "STREAM"表示流录音模式，录音数据保存在内存中，每隔一段时间执行一次cbFnc函数去读取录音数据流，录音结束后再执行一次cbFnc函数</pre>
        </li>
        <li><span class="parameter">quality</span>
            <span class="types"><span class="type">number</span></span>
         [<em>此参数可选，默认值为：</em> 1]
        <pre class="example">录音质量，0：一般质量 1：中等质量 2：高质量 3：无损质量</pre>
        </li>
        <li><span class="parameter">rcdType</span>
            <span class="types"><span class="type">number</span></span>
         [<em>此参数可选，默认值为：</em> 2]
        <pre class="example">录音类型 n:1:mic 2:voice 3:voice_dual</pre>
        </li>
        <li><span class="parameter">format</span>
            <span class="types"><span class="type">number</span></span>
         [<em>此参数可选，默认值为：</em> 3]
        <pre class="example">录音格式，1:pcm 2:wav 3:amrnb 4:speex
      pcm格式：录音质量参数无效，采样率：8000，单声道，采样精度：16 bit，5秒钟录音80KB左右
      wav格式：录音质量参数无效，比特率：128kbps，5秒钟录音80KB左右
      amrnb格式：录音质量参数有效
                 录音质量为0时：比特率：5.15kbps，5秒钟录音3KB多
                 录音质量为1时：比特率：6.70kbps，5秒钟录音4KB多
                 录音质量为2时：比特率：7.95kbps，5秒钟录音4KB多
                 录音质量为3时：比特率：12.2kbps，5秒钟录音7KB多
      speex格式：录音质量参数无效，pcm格式128kbps后的压缩格式，5秒钟6KB左右</pre>
        </li>
        <li><span class="parameter">streamRptLen</span>
            <span class="types"><span class="type">number</span></span>
         [<em>此参数可选，默认值为：</em> nil]
        <pre class="example">流录音时，每次上报的字节阀值</pre>
        </li>
    </ul>




    <h3>Usage:</h3>
    <ul>
        <li><pre class="example">文件录音模式，录音<span class="number">5</span>秒，一般质量，amrnb格式，录音结束后执行cbFnc函数：
record.start(<span class="number">5</span>,cbFnc)
流录音模式，录音<span class="number">5</span>秒，一般质量，amrnb格式，每隔一段时间执行一次cbFnc函数，录音结束后再执行一次cbFnc函数：
record.start(<span class="number">5</span>,cbFnc,<span class="string">"STREAM"</span>)
流录音模式，录音<span class="number">5</span>秒，一般质量，amrnb格式，每产生<span class="number">500</span>字节的录音数据执行一次cbFnc函数，录音结束后再执行一次cbFnc函数：
record.start(<span class="number">5</span>,cbFnc,<span class="string">"STREAM"</span>,<span class="keyword">nil</span>,<span class="keyword">nil</span>,<span class="number">500</span>)</pre></il>
    </ul>

</dd>
    <dt>
    <a name = "stop"></a>
    <strong  style="color: red;">
    stop (<strong  style="color: green;">[cbFnc=nil]</strong>)
    </strong>
    </dt>
    <dd>
    <pre class="example"  style="color: red;">停止录音</pre>


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">cbFnc</span>
            <span class="types"><span class="type">function</span></span>
         [<em>此参数可选，默认值为：</em> nil]
        <pre class="example">停止录音的回调函数(停止结果通过此函数通知用户)，回调函数的调用形式为：
      cbFnc(result)
      result：number类型
              0表示停止成功
              1表示之前已经发送了停止动作，请耐心等待停止结果的回调</pre>
        </li>
    </ul>




    <h3>Usage:</h3>
    <ul>
        <li><pre class="example">record.stop(cb)</pre></il>
    </ul>

</dd>
    <dt>
    <a name = "getFilePath"></a>
    <strong  style="color: red;">
    getFilePath ()
    </strong>
    </dt>
    <dd>
    <pre class="example"  style="color: red;">读取录音文件的完整路径</pre>



    <h3>Returns:</h3>
    <ul>
        <li>
        <pre class="example">string 录音文件的完整路径</pre></il>
    </ul>



    <h3>Usage:</h3>
    <ul>
        <li><pre class="example">filePath = record.getFilePath()</pre></il>
    </ul>

</dd>
    <dt>
    <a name = "getData"></a>
    <strong  style="color: red;">
    getData (offset, len)
    </strong>
    </dt>
    <dd>
    <pre class="example"  style="color: red;">读取录音数据</pre>


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">offset</span>
        <pre class="example"> 偏移位置</pre>
        </li>
        <li><span class="parameter">len</span>
        <pre class="example"> 长度</pre>
        </li>
    </ul>

    <h3>Returns:</h3>
    <ul>
        <li>
        <pre class="example">data 录音数据</pre></il>
    </ul>



    <h3>Usage:</h3>
    <ul>
        <li><pre class="example">data = record.getData(<span class="number">0</span>, <span class="number">1024</span>)</pre></il>
    </ul>

</dd>
    <dt>
    <a name = "getSize"></a>
    <strong  style="color: red;">
    getSize ()
    </strong>
    </dt>
    <dd>
    <pre class="example"  style="color: red;">读取录音文件总长度，录音时长</pre>



    <h3>Returns:</h3>
    <ol>
        <li>
        <pre class="example">fileSize 录音文件大小</pre></li>
        <li>
        <pre class="example">duration 录音时长</pre></li>
    </ol>



    <h3>Usage:</h3>
    <ul>
        <li><pre class="example">fileSize, duration = record.getSize()</pre></il>
    </ul>

</dd>
    <dt>
    <a name = "delete"></a>
    <strong  style="color: red;">
    delete ()
    </strong>
    </dt>
    <dd>
    <pre class="example"  style="color: red;">删除录音</pre>






    <h3>Usage:</h3>
    <ul>
        <li><pre class="example">record.delete()</pre></il>
    </ul>

</dd>
    <dt>
    <a name = "exists"></a>
    <strong  style="color: red;">
    exists ()
    </strong>
    </dt>
    <dd>
    <pre class="example"  style="color: red;">判断是否存在录音</pre>



    <h3>Returns:</h3>
    <ul>
        <li>
        <pre class="example">result true - 有录音 false - 无录音</pre></il>
    </ul>



    <h3>Usage:</h3>
    <ul>
        <li><pre class="example">result = record.exists()</pre></il>
    </ul>

</dd>
    <dt>
    <a name = "isBusy"></a>
    <strong  style="color: red;">
    isBusy ()
    </strong>
    </dt>
    <dd>
    <pre class="example"  style="color: red;">是否正在处理录音</pre>



    <h3>Returns:</h3>
    <ul>
        <li>
        <pre class="example">result true - 正在处理 false - 空闲</pre></il>
    </ul>



    <h3>Usage:</h3>
    <ul>
        <li><pre class="example">result = record.isBusy()</pre></il>
    </ul>

</dd>
</dl>


</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
<i style="float:right;">Last updated 2021-08-02 13:53:19 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

